<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Object.defineProperty</title>
</head>
<body>
    <h2>张继科</h2>
    <script>
        var h2 = document.querySelector('h2');
        // 声明一个对象
        var star = {
            name: '张继科'
        };

        //为 star 添加 techang 属性
        Object.defineProperty(star, 'techang', {
            // 配置对象
            // value: '打乒乓球',
            //
            // enumerable: true,
            //是否可以修改
            // writable: false,
            //是否可以删除
            // configurable: true,
            // get
            get: function(){
                return '打乒乓球';
            }
        });

        // star.techang = '狂傲';
        // delete star.techang;

        //为 star 批量的添加属性
        Object.defineProperties(star, {
            age: {
                value: 35
            },
            height: {
                get: function(){
                    return 181;
                }
            },
            name: {
                set: function(v){
                    //更新 dom 节点的文本
                    h2.innerHTML = v;
                }
            }
        });

        // star.name = 'xxx';

    </script>
</body>
</html>